If you are using the shelf check feature, items are assigned and allocated according to the shelf check parameters, rather than the waiting list.
Let's look at an example. Say we have one copy of a bibliographic record at location A, and no other copies at any other location.
Borrower B reserves this bibliographic record for pickup at location B. Then borrower C reserves this same bibliographic record for pickup at location C. So borrower B is at the top of the reservation waiting list, while borrower C is second.
But for items to be picked up at location B, the Elapsed days before we search location A is 3 days, whereas for items to be picked up at location C the Elapsed days before we search location A is 0. So the item will actually be assigned to borrower C rather than borrower B — even though borrower B is first in the waiting list.